home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / tools / internet-tools / connect-line / cl / devkit / oberon / clonline.mod
Encoding:
Text File  |  1995-09-10  |  8.4 KB  |  250 lines

  1. (* --------------------------------------------------------------------------
  2.  :Program.       clonline.mod
  3.  :Contents.      Interface zur clonline.library
  4.  :Author.        Frank Schummertz (fs)
  5.  :Address.       Katernberger Schulweg 35, 42113 Wuppertal
  6.  :Phone.         0202 / 761780
  7.  :Copyright.     fs
  8.  :Language.      Oberon2
  9.  :Translator.    AmigaOberon 3.00d
  10.  :Version.       0.1
  11.  :Support.       
  12.  :Imports.       
  13.  :Remarks.       für clonline.library v2.3 (c) Mathis Mischler
  14.  :Usage.         
  15.  :Bugs.          
  16. -------------------------------------------------------------------------- *)
  17.  
  18. MODULE CLOnline;
  19.  
  20. IMPORT
  21.   sys : SYSTEM,
  22.   e   : Exec,
  23.   i   : Intuition,
  24.   l   : Locale,
  25.   t   : Timer,
  26.   u   : Utility;
  27.  
  28.  
  29. VAR
  30.   clonline * : e.LibraryPtr;
  31.  
  32. CONST
  33.   clonlinename    * = "CONNECTLINE:libs/clonline.library";
  34.   clonlineversion * = 2;
  35.  
  36. (* Definition of a ANSI-Select Entry *)
  37. TYPE
  38.   EntryNodePtr * = POINTER TO EntryNode;
  39.   EntryNode * = STRUCT (n : e.MinNode)
  40.     data    * : ARRAY 80 OF CHAR;  (* String to display *)
  41.     bold    * : BOOLEAN;
  42.     inverse * : BOOLEAN;
  43.   END;
  44.  
  45. (* Colour Definitions for CLONL_Color Command *)
  46.  
  47. CONST
  48.   Black  * = 0;
  49.   Red    * = 1;
  50.   Green  * = 2;
  51.   Yellow * = 3;
  52.   Blue   * = 4;
  53.   Pink   * = 5;
  54.   Cyan   * = 6;
  55.   White  * = 7;
  56.  
  57. (* Style Definitions for CLONL_Color Command *)
  58.  
  59.   normal     * = 0;
  60.   bold       * = 1;
  61.   kursiv     * = 3;
  62.   underlined * = 4;
  63.   inverse    * = 7;
  64.  
  65. (* Definitions of types for CLONL_BlueRead() *)
  66.  
  67.   ASCII  * = 0;
  68.   NUMBER * = 1;
  69.   BOOL   * = 2;
  70.   SECRET * = 3;
  71.  
  72. (* Definitions for CLONL_GetKey () *)
  73.  
  74.   CTRLA * = 1;
  75.   CTRLB * = 2;
  76.   CTRLC * = 3;
  77.   CTRLD * = 4;
  78.   CTRLE * = 5;
  79.   CTRLF * = 6;
  80.   BS    * = 8;
  81.   TAB   * = 9;
  82.   LF    * = 10;
  83.   CR    * = 13;
  84.   CTRLK * = 11;
  85.   CTRLN * = 14;
  86.   CTRLR * = 18;
  87.   CTRLX * = 24;
  88.   CTRLZ * = 26;
  89.   ESC   * = 27;
  90.   DEL   * = 127;
  91.   CSI   * = 155;
  92.  
  93.   BREAK * = 1024;
  94.   UP    * = 1025;
  95.   DOWN  * = 1026;
  96.   RIGHT * = 1027;
  97.   LEFT  * = 1028;
  98.   EOF   * = 1029;
  99.  
  100. (* Definitons for Mode for ANSI-Requester *)
  101.  
  102.   SELECT * = 0; (* To select multiple entrys by marking *)
  103.   CHOOSE * = 1; (* To choose ONE entry by cursor left *)
  104.   INHALT * = 2; (* Special - internal *)
  105.  
  106. (*
  107.    Definition of range for CLONL_FreeRange() and CLONL_ParseExpression()
  108. *)
  109.  
  110. TYPE
  111.   RangePtr * = POINTER TO Range;
  112.   Range * = STRUCT
  113.     from * : LONGINT;
  114.     to   * : LONGINT;
  115.     next * : RangePtr;
  116.   END;
  117.  
  118. (*
  119.    Definition of Shortmenu for CLONL_AddShortMenu, CLONL_ShortMenuSelect(), CLONL_FreeShortMenu
  120. *)
  121.  
  122.   ShortmenuPtr * = POINTER TO Shortmenu;
  123.   Shortmenu * = STRUCT
  124.     entry  * : ARRAY 40 OF CHAR;
  125.     hotkey * : CHAR;
  126.     next   * : ShortmenuPtr;
  127.   END;
  128.  
  129. (*
  130.    Definition for one Mask Entry for CLONL_AddGadget, CLONL_GetGagdet, CLONL_InputMask()
  131. *)
  132.  
  133.   MaskNodePtr * = POINTER TO MaskNode;
  134.   MaskNode * = STRUCT (n : e.MinNode)
  135.     MaskType   * : LONGINT;
  136.     identifier * : ARRAY 40 OF CHAR;
  137.     buffer     * : e.APTR;
  138.     buffersize * : LONGINT;
  139.   END;
  140.     
  141.  
  142. (* typedef struct MaskNode MaskNode; *)
  143.  
  144. (* Mask-List Definition *)
  145.  
  146. TYPE
  147.   Mask * = e.MinList;
  148.  
  149.  
  150. PROCEDURE Open * {clonline,-30} (catalogname {8} : ARRAY OF CHAR):BOOLEAN;
  151. PROCEDURE Close * {clonline,-36} ();
  152. PROCEDURE FlushInput * {clonline,-42} ();
  153. PROCEDURE FlushOutput * {clonline,-48} ();
  154. PROCEDURE UpdateUser * {clonline,-54} ();
  155. PROCEDURE Normal * {clonline,-60} ();
  156. PROCEDURE DeleteEOL * {clonline,-66} ();
  157. PROCEDURE DeleteLine * {clonline,-72} ();
  158. PROCEDURE InsertLine * {clonline,-78} ();
  159. PROCEDURE BlueMode * {clonline,-84} ();
  160. PROCEDURE GotoXY * {clonline,-90} (x {0}, y {1}: LONGINT);
  161. PROCEDURE Color * {clonline,-96} (col {0}   : LONGINT;
  162.                                   bcol {1}  : LONGINT;
  163.                                   style {2} : LONGINT);
  164. PROCEDURE ClearScreen * {clonline,-102} ();
  165. PROCEDURE BlueRead * {clonline,-108} (VAR str  {8} : ARRAY OF CHAR;
  166.                                       def  {9} : ARRAY OF CHAR;
  167.                                       len  {0} : LONGINT;
  168.                                       type {1} : LONGINT;
  169.                                       mask {2} : BOOLEAN); (* :e.STRPTR; *)
  170. PROCEDURE Wait * {clonline,-114} ():BOOLEAN;
  171. PROCEDURE DrawTitle * {clonline,-120} ();
  172. PROCEDURE Edit * {clonline,-126} (filename {8}: ARRAY OF CHAR):BOOLEAN;
  173. PROCEDURE RequesterSelect * {clonline,-168} (entry {8} : e.MinListPtr;
  174.                                              pos   {0} : LONGINT;
  175.                                              title {9} : ARRAY OF CHAR;
  176.                                              mode  {1} : LONGINT):EntryNodePtr;
  177. PROCEDURE GetLocale * {clonline,-174} ():l.LocalePtr;
  178. PROCEDURE GetCatalog * {clonline,-180} ():e.APTR;
  179. PROCEDURE GetUserShell * {clonline,-186} ():e.APTR; (* eigentlich clusershellptr *)
  180. PROCEDURE IsTTY * {clonline,-192} ():BOOLEAN;
  181. PROCEDURE GetString * {clonline,-198} (entry {8}: ARRAY OF CHAR):e.STRPTR;
  182. PROCEDURE VPrintf * {clonline,-204} (format {8} : ARRAY OF CHAR;
  183.                                      arg    {9} : ARRAY OF u.TagItem);
  184. PROCEDURE Printf * {clonline,-204} (format {8}   : ARRAY OF CHAR;
  185.                                     arg    {9}.. : e.APTR);
  186. PROCEDURE VSPrintf * {clonline,-210} (VAR to {8} : ARRAY OF CHAR;
  187.                                       format {9} : ARRAY OF CHAR;
  188.                                       arg    {10}: ARRAY OF u.TagItem);
  189. PROCEDURE SPrintf * {clonline,-210} (VAR to {8}   : ARRAY OF CHAR;
  190.                                      format {9}   : ARRAY OF CHAR;
  191.                                      arg    {10}..: e.APTR);
  192. PROCEDURE DoCommand * {clonline,-216} (cmd   {8} : ARRAY OF CHAR;
  193.                                        param {9} : ARRAY OF CHAR):LONGINT;
  194. PROCEDURE SendMail * {clonline,-222} (abs      {8} : ARRAY OF CHAR;
  195.                                       emp      {9} : ARRAY OF CHAR;
  196.                                       bet      {10}: ARRAY OF CHAR;
  197.                                       filename {11}: ARRAY OF CHAR;
  198.                                       bezid    {12}: ARRAY OF CHAR):LONGINT;
  199. PROCEDURE GetKey * {clonline,-228} ():LONGINT;
  200. PROCEDURE FreeRange * {clonline,-240} (range {8} : RangePtr);
  201. PROCEDURE ParseExpression * {clonline,-246} (parsepattern {8} : ARRAY OF CHAR;
  202.                                              maximum      {0} : LONGINT):RangePtr;
  203. PROCEDURE Transfer * {clonline,-252} (filename     {8} : ARRAY OF CHAR;
  204.                                       sendfilename {9} : ARRAY OF CHAR):LONGINT;
  205. PROCEDURE GetUserFullName * {clonline,-258} (email {8} : ARRAY OF CHAR):e.STRPTR;
  206. PROCEDURE GetNameVal * {clonline,-264} (name {8} : ARRAY OF CHAR):LONGINT;
  207. PROCEDURE IsKeyPressed * {clonline,-270} ():BOOLEAN;
  208. PROCEDURE Continue * {clonline,-276} ():BOOLEAN;
  209. PROCEDURE AddShortMenu * {clonline,-282} (oldmenu {8} : ShortmenuPtr;
  210.                                           entry   {9} : ARRAY OF CHAR;
  211.                                           hotkey  {0} : CHAR):ShortmenuPtr;
  212. PROCEDURE FreeShortMenu * {clonline,-288} (menu {8} : ShortmenuPtr);
  213. PROCEDURE ShortMenuSelect * {clonline,-294} (menu {8} : ShortmenuPtr):CHAR;
  214. PROCEDURE TimeToStr * {clonline,-300} (time {0} : t.TimeVal;
  215.                                        str  {8} : ARRAY OF CHAR):e.STRPTR;
  216. PROCEDURE StrToTime * {clonline,-306} (str  {8} : ARRAY OF CHAR;
  217.                                        time {9} : t.TimeVal):t.TimeVal;
  218. PROCEDURE AddGadget * {clonline,-312} (mask       {8} : e.APTR; (* POINTER TO Mask !! *)
  219.                                        masktype   {0} : LONGINT;
  220.                                        identifier {9} : ARRAY OF CHAR;
  221.                                        buffer     {10}: ARRAY OF CHAR;
  222.                                        buffersize {1} : LONGINT);
  223. PROCEDURE GetGadget * {clonline,-318} (mask       {8} : e.APTR; (* POINTER TO Mask !! *)
  224.                                        identifier {9} : ARRAY OF CHAR):MaskNodePtr;
  225. PROCEDURE InputMask * {clonline,-324} (mask  {8} : e.APTR; (* POINTER TO Mask !! *)
  226.                                        title {9} : ARRAY OF CHAR):BOOLEAN; (* 144 9802 *)
  227. PROCEDURE ShortMenuSelectVertical * {clonline,-330} (menu {8} : ShortmenuPtr):CHAR;
  228.  
  229.  
  230. (* Defines for easyer textoutput *)
  231. PROCEDURE MSG * (txt : ARRAY OF CHAR):e.STRPTR; BEGIN; RETURN GetString(txt); END MSG;
  232. PROCEDURE PutMsg * (txt : ARRAY OF CHAR); BEGIN; Printf(MSG(txt)^, NIL); END PutMsg;
  233.  
  234.  
  235. BEGIN
  236.  
  237.   clonline := e.OpenLibrary (clonlinename, clonlineversion);
  238.   IF clonline = NIL THEN
  239.     sys.SETREG (0, i.DisplayAlert(0, "\x00\x64\x14Achtung : clonline.library v2.3 fehlt\o\o",50));
  240.     HALT(0)
  241.   END;
  242.  
  243. CLOSE
  244.  
  245.   IF clonline # NIL THEN
  246.     e.CloseLibrary (clonline);
  247.   END;
  248.  
  249. END CLOnline.
  250.